//---------------------------------------------------------------------------
#ifndef DPAniverH
#define DPAniverH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "DialPad.h"
#include "PHDS.h"
#include <ExtCtrls.hpp>
#include "PHCombo.h"
#include "PHLabel.h"
#include "PHGridEd.h"
#include <Grids.hpp>
#include <Buttons.hpp>
#include "Word_2K_SRVR.h"
#include <OleServer.hpp>
#include <Dialogs.hpp>
#include <Psock.hpp>
#include <AxCtrls.hpp>
#include <OleCtrls.hpp>
#include <vcf1.hpp>
#include "staniver.h"
#include "PHCheck.h"
#include <ComCtrls.hpp>
#include "PHSmtp.h"
#include "PHEmail.h"
#include "PHEtiqueta.h"
#include "DIALPAD.h"

//---------------------------------------------------------------------------
class TDPAniver1 : public TDiPad
{
  __published:	// IDE-managed Components
    PHLabel *PHLabel1;
    PHComboBox *PHComboMes;
    PHLabel *PHLabel2;
    PHComboBox *PHComboOrdem;
    PHDataSource *DSAniver;
    TBitBtn *BtnRelatorio;
    TBitBtn *BtnConfirma;
    PHDataSource *DSSocio;
    TBitBtn *BtnEnviarEmail;
    TBitBtn *BtnGerarCartao;
    TWordApplication *WApp;
    TWordDocument *WDoc;
    PHGridEdit *PHGridEdit1;
    PHDataSource *DSAniver2;
    TBitBtn *BtnGerarEtiquetas;
    TOpenDialog *OpenDialog;
    TCheckBox *chkTodos;
    TTimer *Timer;
    TBitBtn *BitBtn1;
    void __fastcall FormDestroy(TObject *Sender);
    void __fastcall BtnConfirmaClick(TObject *Sender);
    void __fastcall FormShow(TObject *Sender);
    void __fastcall PHComboMesChange(TObject *Sender);
    void __fastcall PHComboOrdemChange(TObject *Sender);
    void __fastcall BtnRelatorioClick(TObject *Sender);
    void __fastcall BtnGerarCartaoClick(TObject *Sender);
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall PHGridEdit1DblClick(TObject *Sender);
    void __fastcall BtnGerarEtiquetasClick(TObject *Sender);
    void __fastcall BtnEnviarEmailClick(TObject *Sender);
    void __fastcall chkTodosClick(TObject *Sender);
    void __fastcall BitBtn1Click(TObject *Sender);
  private:	// User declarations
    void __fastcall AlimentaDataSource(TObject* Sender);
    void __fastcall PreencheArquivo(AnsiString arquivoNovo, AnsiString arquivoModelo);
    void __fastcall PreencheArquivoEtiquetas(AnsiString arqEtiqueta, AnsiString arqModeloEtiqueta);
    void __fastcall ConectaWordServer(AnsiString arquivo);
    void __fastcall HabilitaCamposCartao(bool ativo);
    void __fastcall ReconhecePadroesDocumento();
    void __fastcall ReconhecePadroes(AnsiString Conteudo, int CarCount);
    void __fastcall MarcaTodosParaReceberCartao(bool opcao);
    bool __fastcall AbreArquivoModelo(AnsiString Titulo, AnsiString Filtto);
    void __fastcall GeraArquivoImpressao(TObject*  Sender);
    void __fastcall GeraEtiquetas(TObject*  Sender);
    void __fastcall GeraEmail(TObject*  Sender);
    void __fastcall AjustaArquivosDeImagem(AnsiString MediaDir);
    void __fastcall SubstituiPadroesDoDocumento(int Grupo, int Secao);
    void __fastcall FiltraAniversariantes();
    void __fastcall OnPostAniver(TObject *Sender);    
    bool __fastcall VerificaRegistrosGeraoCartao(int Posicao);
    AnsiString __fastcall DefineLocalArquivoNovo(AnsiString TituloDialogo, AnsiString NomePadraoArquivo);
    AnsiString __fastcall CriaArquivo(AnsiString ArquivoModelo, AnsiString NomeArquivo);
    AnsiString __fastcall RetornaValorCampo(AnsiString Padrao);
    AnsiString __fastcall ConverteHtmlParaString(AnsiString Arquivo);
    AnsiString __fastcall CopiaArquivoHtml(AnsiString ArquivoModelo);
    AnsiString __fastcall GetFileName(AnsiString Arquivo);
    AnsiString __fastcall GetFileExtension(AnsiString Arquivo);
    AnsiString __fastcall PreencheArquivoHtml(AnsiString ArquivoNovo);
    TIdMessage* __fastcall CriaEmail(AnsiString Html, AnsiString MediaDir, AnsiString Destinatario);
    bool __fastcall CriaArquivoTemporario(AnsiString ArqModelo, AnsiString ArqTemp);
    void __fastcall EnviaEmail(TObject* Sender);
    long __fastcall GetTamanhoEmail();
    struct ANIVER *Aniver;
    TSmtp *Smtp;
    TEmail *Email;
    TPHEtiqueta *Etiqueta;
    PHDataSource *DSEmp;
    AnsiString MediaDir;
    AnsiString ArquivoNovo;
    AnsiString ArquivoModelo;
    AnsiString ArquivoModeloCartao;
    AnsiString ArquivoModeloEtiqueta;
    AnsiString ArquivoModeloEmail;

  public:		// User declarations
    __fastcall TDPAniver1(TComponent* Owner);

};
//---------------------------------------------------------------------------
extern PACKAGE TDPAniver1 *DPAniver1;
//---------------------------------------------------------------------------
#endif

